bd480af40a2b69df5bc82a3a5a885b3059156e4c,unison/unison-server-core/src/main/java/com/tremolosecurity/provisioning/service/util/ServiceActions.java,ServiceActions,listOpenApprovals,#String#,38

Before Change


	public static ApprovalSummaries listOpenApprovals(String approver) throws ProvisioningException {
		Connection con = null;
		try {
			con = GlobalEntries.getGlobalEntries().getConfigManager().getProvisioningEngine().getApprovalDBConn();
			PreparedStatement ps = con.prepareStatement("SELECT workflows.requestReason AS wfreason, workflows.name AS wfName,workflows.id AS workflow, workflows.startTS AS wfStart, approvals.id AS approval,approvals.label AS label,approvals.createTS AS approvalTS, users.userKey AS userid   FROM approvals INNER JOIN workflows ON approvals.workflow=workflows.id INNER JOIN allowedApprovers ON allowedApprovers.approval=approvals.id INNER JOIN approvers ON approvers.id=allowedApprovers.approver INNER JOIN users ON users.id=workflows.userid WHERE approvers.userKey=? AND approvals.approved IS NULL");
			ps.setString(1, approver);
			ResultSet rs = ps.executeQuery();
			ArrayList<ApprovalSummary> summaries = new ArrayList<ApprovalSummary>();
			
			while (rs.next()) {
				ApprovalSummary sum = new ApprovalSummary();
				sum.setApproval(rs.getInt("approval"));
				sum.setWorkflow(rs.getInt("workflow"));
				sum.setLabel(rs.getString("label"));
				sum.setUser(rs.getString("userid"));
				sum.setWfStart(rs.getTimestamp("wfStart").getTime());
				sum.setApprovalStart(rs.getTimestamp("approvalTS").getTime());
				sum.setReason(rs.getString("wfreason"));
				
				String wfName = rs.getString("wfName");
				sum.setWfName(wfName);
				
				for (WorkflowType wf : GlobalEntries.getGlobalEntries().getConfigManager().getCfg().getProvisioning().getWorkflows().getWorkflow()) {

After Change


			
			//PreparedStatement ps = con.prepareStatement("SELECT workflows.requestReason AS wfreason, workflows.name AS wfName,workflows.id AS workflow, workflows.startTS AS wfStart, approvals.id AS approval,approvals.label AS label,approvals.createTS AS approvalTS, users.userKey AS userid   FROM approvals INNER JOIN workflows ON approvals.workflow=workflows.id INNER JOIN allowedApprovers ON allowedApprovers.approval=approvals.id INNER JOIN approvers ON approvers.id=allowedApprovers.approver INNER JOIN users ON users.id=workflows.userid WHERE approvers.userKey=? AND approvals.approved IS NULL");
			
			session = GlobalEntries.getGlobalEntries().getConfigManager().getProvisioningEngine().getHibernateSessionFactory().openSession();
			
			Query query = session.createQuery("SELECT aprv FROM Approvals aprv JOIN aprv.allowedApproverses allowed JOIN allowed.approvers apprv  WHERE aprv.approved IS  NULL AND apprv.userKey = :user_key");
			query.setParameter("user_key", approver);
			List<com.tremolosecurity.provisioning.objects.Approvals> approvals = query.list();
			
			
			
			
			
			ArrayList<ApprovalSummary> summaries = new ArrayList<ApprovalSummary>();
			
			
			
			
			for (Approvals appr : approvals) {
				ApprovalSummary sum = new ApprovalSummary();
				
				
				
				
				
				sum.setApproval(appr.getId());
				sum.setWorkflow(appr.getWorkflow().getId());
				sum.setLabel(appr.getLabel());
				sum.setUser(appr.getWorkflow().getUsers().getUserKey());
				sum.setWfStart(appr.getWorkflow().getStartTs().getTime());
				sum.setApprovalStart(appr.getCreateTs().getTime());
				sum.setReason(appr.getWorkflow().getRequestReason());
				
				String wfName = appr.getWorkflow().getName();
				sum.setWfName(wfName);
				
				for (WorkflowType wf : GlobalEntries.getGlobalEntries().getConfigManager().getCfg().getProvisioning().getWorkflows().getWorkflow()) {